import request from '@/utils/request'

/**
 * 查询所有角色
 *
 * @returns {Promise}
 */
export function getRoleListAPI() {
  return request({
    url: '/park/sys/role',
    method: 'get'
  })
}

/**
 * 查询所有功能权限（树形）
 *
 * @returns {Promise}
 */
export function getPermissionTreeAPI() {
  return request({
    url: '/park/sys/permision/all/tree',
    method: 'get'
  })
}

/**
 * 查询当前角色详情
 *
 * @param {String} roleId 角色ID
 *
 * @returns {Promise}
 */
export function getRoleDetailsAPI(roleId) {
  return request({
    url: `/park/sys/role/${roleId}`,
    method: 'get'
  })
}

/**
 * 查询角色关联的用户列表
 *
 * @param { String } roleId
 * @param { page, pageSize } params
 *
 * @returns {Promise}
 */
export function getRoleUsersAPI(roleId, params) {
  return request({
    url: `/park/sys/roleUser/${roleId}`,
    method: 'get',
    params
  })
}

/**
 * 添加角色
 *
 * @param { roleName, remark, perms } data
 *
 * @returns {Promise}
 */
export function addRoleAPI(data) {
  return request({
    url: '/park/sys/role',
    method: 'post',
    data
  })
}

/**
 * 修改角色
 *
 * @param { roleId, roleName, remark, perms } data
 *
 * @returns {Promise}
 */
export function updateRoleAPI(data) {
  return request({
    url: '/park/sys/role',
    method: 'put',
    data
  })
}

/**
 * 删除角色
 *
 * @param { String } id
 *
 * @returns {Promise}
 */
export function deleteRoleAPI(id) {
  return request({
    url: `/park/sys/role/${id}`,
    method: 'delete'
  })
}
